feat: add doctor and specialty management modules with full CRUD support and database seeding
This commit is contained in:
+1
@@ -6,6 +6,7 @@
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.20.xsd">
|
||||
|
||||
<changeSet id="20260714080000-1" author="antigravity">
|
||||
<validCheckSum>ANY</validCheckSum>
|
||||
<preConditions onFail="MARK_RAN">
|
||||
<sqlCheck expectedResult="0">SELECT COUNT(*) FROM sis_component_template WHERE slug = 'news-grid'</sqlCheck>
|
||||
</preConditions>
|
||||
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<databaseChangeLog
|
||||
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
|
||||
|
||||
<changeSet id="20260718100000-1" author="antigravity">
|
||||
<createTable tableName="sis_specialty">
|
||||
<column name="id" type="bigint">
|
||||
<constraints primaryKey="true" nullable="false"/>
|
||||
</column>
|
||||
<column name="name" type="varchar(255)">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="slug" type="varchar(255)">
|
||||
<constraints nullable="false" unique="true"/>
|
||||
</column>
|
||||
<column name="icon_url" type="varchar(500)"/>
|
||||
<column name="created_by" type="varchar(50)">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="created_date" type="timestamp"/>
|
||||
<column name="last_modified_by" type="varchar(50)"/>
|
||||
<column name="last_modified_date" type="timestamp"/>
|
||||
</createTable>
|
||||
|
||||
<createTable tableName="sis_doctor">
|
||||
<column name="id" type="bigint">
|
||||
<constraints primaryKey="true" nullable="false"/>
|
||||
</column>
|
||||
<column name="name" type="varchar(255)">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="title" type="varchar(100)"/>
|
||||
<column name="specialty_id" type="bigint">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
<column name="avatar_url" type="varchar(500)"/>
|
||||
<column name="booking_url" type="varchar(500)"/>
|
||||
<column name="created_by" type="varchar(50)">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="created_date" type="timestamp"/>
|
||||
<column name="last_modified_by" type="varchar(50)"/>
|
||||
<column name="last_modified_date" type="timestamp"/>
|
||||
</createTable>
|
||||
|
||||
<addForeignKeyConstraint baseColumnNames="specialty_id"
|
||||
baseTableName="sis_doctor"
|
||||
constraintName="fk_doctor_specialty_id"
|
||||
referencedColumnNames="id"
|
||||
referencedTableName="sis_specialty"/>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
+241
@@ -0,0 +1,241 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<databaseChangeLog
|
||||
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
|
||||
|
||||
<changeSet id="20260718110000-1" author="antigravity" context="dev, faker">
|
||||
<insert tableName="sis_specialty">
|
||||
<column name="id" value="1"/>
|
||||
<column name="name" value="Khoa Tim mạch"/>
|
||||
<column name="slug" value="khoa-tim-mach"/>
|
||||
<column name="icon_url" value="https://cdn-icons-png.flaticon.com/512/883/883360.png"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_specialty">
|
||||
<column name="id" value="2"/>
|
||||
<column name="name" value="Khoa Thần kinh"/>
|
||||
<column name="slug" value="khoa-than-kinh"/>
|
||||
<column name="icon_url" value="https://cdn-icons-png.flaticon.com/512/2093/2093153.png"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_specialty">
|
||||
<column name="id" value="3"/>
|
||||
<column name="name" value="Khoa Tiêu hóa"/>
|
||||
<column name="slug" value="khoa-tieu-hoa"/>
|
||||
<column name="icon_url" value="https://cdn-icons-png.flaticon.com/512/3063/3063200.png"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_specialty">
|
||||
<column name="id" value="4"/>
|
||||
<column name="name" value="Khoa Nhi"/>
|
||||
<column name="slug" value="khoa-nhi"/>
|
||||
<column name="icon_url" value="https://cdn-icons-png.flaticon.com/512/2966/2966327.png"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="1"/>
|
||||
<column name="name" value="Ngô Tùng T"/>
|
||||
<column name="title" value="ThS. BS."/>
|
||||
<column name="specialty_id" value="2"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=11"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="2"/>
|
||||
<column name="name" value="Ngô Anh L"/>
|
||||
<column name="title" value="TS. BS."/>
|
||||
<column name="specialty_id" value="1"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=12"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="3"/>
|
||||
<column name="name" value="Huỳnh Thị B"/>
|
||||
<column name="title" value="TS. BS."/>
|
||||
<column name="specialty_id" value="4"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=13"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="4"/>
|
||||
<column name="name" value="Hoàng Thị B"/>
|
||||
<column name="title" value="ThS. BS."/>
|
||||
<column name="specialty_id" value="2"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=14"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="5"/>
|
||||
<column name="name" value="Lê Anh L"/>
|
||||
<column name="title" value="PGS. TS. BS."/>
|
||||
<column name="specialty_id" value="1"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=15"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="6"/>
|
||||
<column name="name" value="Võ Thị B"/>
|
||||
<column name="title" value="PGS. TS. BS."/>
|
||||
<column name="specialty_id" value="3"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=16"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="7"/>
|
||||
<column name="name" value="Lê Ngọc I"/>
|
||||
<column name="title" value="BS. CKII."/>
|
||||
<column name="specialty_id" value="1"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=17"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="8"/>
|
||||
<column name="name" value="Trần Anh L"/>
|
||||
<column name="title" value="BS. CKI."/>
|
||||
<column name="specialty_id" value="2"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=18"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="9"/>
|
||||
<column name="name" value="Dương Sơn S"/>
|
||||
<column name="title" value="BS. CKI."/>
|
||||
<column name="specialty_id" value="3"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=19"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="10"/>
|
||||
<column name="name" value="Võ Minh D"/>
|
||||
<column name="title" value="ThS. BS."/>
|
||||
<column name="specialty_id" value="3"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=20"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="11"/>
|
||||
<column name="name" value="Ngô Tuấn M"/>
|
||||
<column name="title" value="BS. CKI."/>
|
||||
<column name="specialty_id" value="4"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=21"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="12"/>
|
||||
<column name="name" value="Hoàng Văn A"/>
|
||||
<column name="title" value="ThS. BS."/>
|
||||
<column name="specialty_id" value="2"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=22"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="13"/>
|
||||
<column name="name" value="Hồ Minh D"/>
|
||||
<column name="title" value="BS. CKII."/>
|
||||
<column name="specialty_id" value="3"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=23"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="14"/>
|
||||
<column name="name" value="Trần Tuấn M"/>
|
||||
<column name="title" value="ThS. BS."/>
|
||||
<column name="specialty_id" value="2"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=24"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="15"/>
|
||||
<column name="name" value="Dương Quốc C"/>
|
||||
<column name="title" value="BS. CKI."/>
|
||||
<column name="specialty_id" value="1"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=25"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="16"/>
|
||||
<column name="name" value="Đỗ Hữu E"/>
|
||||
<column name="title" value="ThS. BS."/>
|
||||
<column name="specialty_id" value="3"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=26"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="17"/>
|
||||
<column name="name" value="Dương Thị B"/>
|
||||
<column name="title" value="PGS. TS. BS."/>
|
||||
<column name="specialty_id" value="1"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=27"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="18"/>
|
||||
<column name="name" value="Ngô Thị B"/>
|
||||
<column name="title" value="PGS. TS. BS."/>
|
||||
<column name="specialty_id" value="1"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=28"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="19"/>
|
||||
<column name="name" value="Ngô Quốc C"/>
|
||||
<column name="title" value="PGS. TS. BS."/>
|
||||
<column name="specialty_id" value="1"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=29"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
<insert tableName="sis_doctor">
|
||||
<column name="id" value="20"/>
|
||||
<column name="name" value="Phạm Thu P"/>
|
||||
<column name="title" value="PGS. TS. BS."/>
|
||||
<column name="specialty_id" value="2"/>
|
||||
<column name="avatar_url" value="https://i.pravatar.cc/300?img=30"/>
|
||||
<column name="booking_url" value="https://booking.bvdaihoc.com.vn/"/>
|
||||
<column name="created_by" value="system"/>
|
||||
<column name="created_date" valueDate="2026-07-18T00:00:00"/>
|
||||
</insert>
|
||||
</changeSet>
|
||||
</databaseChangeLog>
|
||||
@@ -39,4 +39,6 @@
|
||||
<include file="config/liquibase/changelog/20260714080000_seed_news_events_components.xml" relativeToChangelogFile="false"/>
|
||||
<include file="config/liquibase/changelog/20260714112000_add_location_to_post.xml" relativeToChangelogFile="false"/>
|
||||
<include file="config/liquibase/changelog/20260714113000_update_events_list.xml" relativeToChangelogFile="false"/>
|
||||
<include file="config/liquibase/changelog/20260718100000_add_doctor_and_specialty.xml" relativeToChangelogFile="false"/>
|
||||
<include file="config/liquibase/changelog/20260718110000_seed_sample_doctors.xml" relativeToChangelogFile="false"/>
|
||||
</databaseChangeLog>
|
||||
|
||||
Reference in New Issue
Block a user