Hi Matt,
working with this stuff... pretty sure I can make rake obsolete pretty soon :)
However I am struggling with the auto increment column attribute...
(create-table
:meta-entities
(integer :id {:not-null true :auto-increment true :primary-key true})
(string :name {:not-null true :unique true })
(date-time :created_at)
(date-time :updated_at))
which looks to me compliant with what your code does in the mysql flavor lib.
It yields in MySql:
CREATE TABLE meta_entities (
id int(11) NOT NULL,
name varchar(255) NOT NULL,
created_at datetime NULL,
updated_at datetime NULL,
PRIMARY KEY(id)
)
ENGINE = InnoDB
AUTO_INCREMENT = 0
According to the AquaStudio tool I use to reverse engineer the DDL.
The trace message:
DEBUG Thread-51 20111128 234732,063 drift-db-mysql.flavor ]
Create table: :meta-entities with specs: ({:not-null true, :primary-key true,
:spec-type :column, :type :integer, :name :id} {:not-null true, :spec-type
:column, :type :string, :name :name} {:spec-type :column, :type :date-time,
:name :created_at} {:spec-type :column, :type :date-time, :name :updated_at})
Looks like the :auto-increment is dropped. drift_db/core.clj at line 155 is not
selecting
it as a potential attribute of an integer field.
I'll patch it locally so I can continue to play with it.
Any reason why the id type does not accept optional attributes ? I use id auto
incremented keys
everywhere :)
Thank you,
Luc
On Thu, 24 Nov 2011 14:58:43 -0800 (PST)
Matt <[email protected]> wrote:
> Drift DB is a clojure database library focused on migration functions.
>
> With Drift DB you can create tables, drop tables, add columns to
> tables, remove columns from tables, query tables, and, though it is
> not the focus of Drift DB, you can insert, update, delete and select
> rows from tables.
>
> The only databases currently supported are H2 and Mysql. However,
> Drift DB uses a protocol to abstract out database specific code. All
> you would have to do to support other databases is implement the Drift
> DB protocol for it.
>
> Drift DB, like Drift, was originally a part of Conjure. However, I had
> several requests to separate out the function into their own library.
>
> Drift DB is not supposed to be a replacement for ClojureQL or Korma.
> Instead, Drift DB is focused on table altering and other tasks usually
> done in Drift migrations. Such tasks are currently not well supported
> in any other Clojure database library.
>
> All of the code for Drift DB can be found on github at:
> http://github.com/macourtney/drift-db
>
> Drift DB on Clojars:
>
> Drift DB Core: http://clojars.org/org.drift-db/drift-db
> Drift DB H2: http://clojars.org/org.drift-db/drift-db-h2
> Drift DB Mysql: http://clojars.org/org.drift-db/drift-db-mysql
>
--
Luc P.
================
The rabid Muppet
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en