Hi,
I'm trying to get my first scala/lift app working and I have a problem:
Schemifier.schemify(...) creates everything, i.e. tables, primary keys,
indices but it does not create the foreign key constraints.
I've seen in Schemifier.scala SQL code for generating foreign key
constraints so I think it should work. Or am I wrong?
I tried Lift 1.0 and 1.1-M7
I also tested the pocketchangeapp from
http://github.com/tjweir/pocketchangeapp but still the same problem. I'm
using PostgreSQL (postgresql-8.4-701.jdbc4.jar) and Scala 2.7.7. Server
is PostgreSQL 8.3.7.
Here the SQL log when doing a "mvn jetty:run" in pocketchangeapp:
INFO - CREATE TABLE users (firstname VARCHAR(32) , lastname VARCHAR(32)
, email VARCHAR(48) , locale VARCHAR(16) , timezone VARCHAR(32) ,
password_pw VARCHAR(48) , password_slt VARCHAR(20) , id BIGSERIAL ,
superuser BOOLEAN , validated BOOLEAN , uniqueid VARCHAR(32))
INFO - ALTER TABLE users ADD CONSTRAINT users_PK PRIMARY KEY(id)
INFO - CREATE TABLE tag (name VARCHAR(64) , id BIGSERIAL , account BIGINT)
INFO - ALTER TABLE tag ADD CONSTRAINT tag_PK PRIMARY KEY(id)
INFO - CREATE TABLE account (name VARCHAR(100) , id BIGSERIAL ,
description VARCHAR(300) , owner BIGINT , externalaccount VARCHAR(300) ,
balance DECIMAL(16,2) , is_public BOOLEAN)
INFO - ALTER TABLE account ADD CONSTRAINT account_PK PRIMARY KEY(id)
INFO - CREATE TABLE accountadmin (id BIGSERIAL , administrator BIGINT ,
account BIGINT)
INFO - ALTER TABLE accountadmin ADD CONSTRAINT accountadmin_PK PRIMARY
KEY(id)
INFO - CREATE TABLE accountviewer (id BIGSERIAL , viewer BIGINT ,
account BIGINT)
INFO - ALTER TABLE accountviewer ADD CONSTRAINT accountviewer_PK PRIMARY
KEY(id)
INFO - CREATE TABLE accountnote (note TEXT , id BIGSERIAL , account BIGINT)
INFO - ALTER TABLE accountnote ADD CONSTRAINT accountnote_PK PRIMARY KEY(id)
INFO - CREATE TABLE expense (dateof TIMESTAMP , amount DECIMAL(16,2) ,
description VARCHAR(100) , notes VARCHAR(1000) , id BIGSERIAL ,
serialnumber BIGINT , account BIGINT , currentbalance DECIMAL(16,2) ,
receiptmime VARCHAR(100) , receipt BYTEA)
INFO - ALTER TABLE expense ADD CONSTRAINT expense_PK PRIMARY KEY(id)
INFO - CREATE TABLE expensetag (id BIGSERIAL , tag BIGINT , expense BIGINT)
INFO - ALTER TABLE expensetag ADD CONSTRAINT expensetag_PK PRIMARY KEY(id)
INFO - CREATE INDEX users_email ON users ( email )
INFO - CREATE INDEX users_uniqueid ON users ( uniqueid )
INFO - CREATE INDEX tag_account ON tag ( account )
INFO - CREATE INDEX account_owner ON account ( owner )
INFO - CREATE INDEX accountadmin_administrator ON accountadmin (
administrator )
INFO - CREATE INDEX accountadmin_account ON accountadmin ( account )
INFO - CREATE INDEX accountviewer_viewer ON accountviewer ( viewer )
INFO - CREATE INDEX accountviewer_account ON accountviewer ( account )
INFO - CREATE INDEX accountnote_account ON accountnote ( account )
INFO - CREATE INDEX expense_account ON expense ( account )
INFO - CREATE INDEX expensetag_tag ON expensetag ( tag )
INFO - CREATE INDEX expensetag_expense ON expensetag ( expense )
INFO - Bootstrap up
Thanks in advance,
Julian