Skip to content

Bug report: migration datetime field not get default #210

@ikuun

Description

@ikuun

Hi,
I,m define datetime field in parent model, and set datetime defualt in parent model like:
`
class MetaModel(Model):
id = AutoField(primary_key=True)
create_time = DateTimeField(default=lambda: dt.datetime.now())
update_time = DateTimeField(default=lambda: dt.datetime.now())

class Meta:
    database = db

`
and use parent model in child model like:

`
class User(MetaModel):
name = CharField()
gender = BooleanField(default=True)
mobile = CharField(null=True)

class Meta:
    table_name = "users"

`

but when generate migration file, not get default like:

`
@migrator.create_model
class User(pw.Model):
id = pw.AutoField()
create_time = pw.DateTimeField()
update_time = pw.DateTimeField()
is_delete = pw.BooleanField(constraints=[SQL("DEFAULT False")], default=False)
name = pw.CharField(max_length=255)
gender = pw.BooleanField(constraints=[SQL("DEFAULT True")], default=True)
mobile = pw.CharField(max_length=255, null=True)

    class Meta:
        table_name = "users"`

I,m use peewee=3.14.4 peewee-migrate=1.4.6

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions