On Thursday, July 26, 2018 at 10:52:22 AM UTC-7, James wrote:
>
> I created an empty project, copied some of the schema dumped using sequel
> -d:
>
> Sequel.migration do
> change do
> create_table(:items) do
> primary_key :id
> Integer :product_id
> String :part_number, :size=>34, :null=>false
> BigDecimal :price, :default=>BigDecimal("0.0"), :null=>false
> BigDecimal :weight, :default=>BigDecimal("0.0"), :null=>false
> BigDecimal :length, :default=>BigDecimal("0.0"), :null=>false
> BigDecimal :width, :default=>BigDecimal("0.0"), :null=>false
> BigDecimal :height, :default=>BigDecimal("0.0"), :null=>false
> end
> end
> end
>
> Ran sequel -m db/migrate/ sqlite://db/test.sqlite3 and got the following
> error:
>
> Error: Sequel::DatabaseError: SQLite3::SQLException: duplicate column
> name: 0.0
> /home/james/.gem/ruby/2.5.0/gems/sqlite3-1.3.13/lib/sqlite3/database.rb:91:in
> `initialize'
>
> Changing the default values to 0.0 allows the migration to run
> successfully. Not sure if this is enough to get you going? When I use the
> sequel -c command to copy the database, I imagine Sequel is generating the
> same default values of BigDecimal("0.0").
>
Your bug is that your BigDecimal('0.0') calls are creating columns named
0.0 (notice how the same method is called in two places on the 5 lines).
You want to switch to Kernel::BigDecimal('0.0') for the default values.
Thanks,
Jeremy
--
You received this message because you are subscribed to the Google Groups
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.