0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-28 17:56:50 -05:00
penpot/backend/src/app/migrations.clj

115 lines
4.1 KiB
Clojure
Raw Normal View History

;; This Source Code Form is subject to the terms of the Mozilla Public
;; License, v. 2.0. If a copy of the MPL was not distributed with this
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
;;
2020-05-26 12:28:35 +02:00
;; This Source Code Form is "Incompatible With Secondary Licenses", as
;; defined by the Mozilla Public License, v. 2.0.
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns app.migrations
(:require
[mount.core :as mount :refer [defstate]]
[app.db :as db]
[app.config :as cfg]
[app.migrations.migration-0023 :as mg0023]
[app.util.migrations :as mg]))
2019-11-22 18:09:13 +01:00
(def +migrations+
{:name "uxbox-main"
:steps
2020-09-21 15:58:56 +02:00
[{:name "0001-add-extensions"
:fn (mg/resource "app/migrations/sql/0001-add-extensions.sql")}
2020-09-21 15:58:56 +02:00
{:name "0002-add-profile-tables"
:fn (mg/resource "app/migrations/sql/0002-add-profile-tables.sql")}
2020-09-21 15:58:56 +02:00
{:name "0003-add-project-tables"
:fn (mg/resource "app/migrations/sql/0003-add-project-tables.sql")}
2020-09-21 15:58:56 +02:00
{:name "0004-add-tasks-tables"
:fn (mg/resource "app/migrations/sql/0004-add-tasks-tables.sql")}
2020-09-21 15:58:56 +02:00
{:name "0005-add-libraries-tables"
:fn (mg/resource "app/migrations/sql/0005-add-libraries-tables.sql")}
2020-09-21 15:58:56 +02:00
{:name "0006-add-presence-tables"
:fn (mg/resource "app/migrations/sql/0006-add-presence-tables.sql")}
2020-09-21 15:58:56 +02:00
{:name "0007-drop-version-field-from-page-table"
:fn (mg/resource "app/migrations/sql/0007-drop-version-field-from-page-table.sql")}
2020-09-21 15:58:56 +02:00
{:name "0008-add-generic-token-table"
:fn (mg/resource "app/migrations/sql/0008-add-generic-token-table.sql")}
2020-09-21 15:58:56 +02:00
{:name "0009-drop-profile-email-table"
:fn (mg/resource "app/migrations/sql/0009-drop-profile-email-table.sql")}
2020-05-26 12:28:35 +02:00
2020-09-21 15:58:56 +02:00
{:name "0010-add-http-session-table"
:fn (mg/resource "app/migrations/sql/0010-add-http-session-table.sql")}
2020-09-21 15:58:56 +02:00
{:name "0011-add-session-id-field-to-page-change-table"
:fn (mg/resource "app/migrations/sql/0011-add-session-id-field-to-page-change-table.sql")}
2020-09-21 15:58:56 +02:00
{:name "0012-make-libraries-linked-to-a-file"
:fn (mg/resource "app/migrations/sql/0012-make-libraries-linked-to-a-file.sql")}
2020-08-04 12:05:54 +02:00
2020-09-21 15:58:56 +02:00
{:name "0013-mark-files-shareable"
:fn (mg/resource "app/migrations/sql/0013-mark-files-shareable.sql")}
2020-09-21 15:58:56 +02:00
{:name "0014-refactor-media-storage.sql"
:fn (mg/resource "app/migrations/sql/0014-refactor-media-storage.sql")}
2020-08-06 16:05:14 +02:00
2020-09-21 15:58:56 +02:00
{:name "0015-improve-tasks-tables"
:fn (mg/resource "app/migrations/sql/0015-improve-tasks-tables.sql")}
2020-08-06 16:05:14 +02:00
2020-09-21 15:58:56 +02:00
{:name "0016-truncate-and-alter-tokens-table"
:fn (mg/resource "app/migrations/sql/0016-truncate-and-alter-tokens-table.sql")}
2020-08-05 13:30:26 +02:00
2020-09-21 15:58:56 +02:00
{:name "0017-link-files-to-libraries"
:fn (mg/resource "app/migrations/sql/0017-link-files-to-libraries.sql")}
2020-09-21 15:58:56 +02:00
{:name "0018-add-file-trimming-triggers"
:fn (mg/resource "app/migrations/sql/0018-add-file-trimming-triggers.sql")}
2020-09-21 15:58:56 +02:00
{:name "0019-add-improved-scheduled-tasks"
:fn (mg/resource "app/migrations/sql/0019-add-improved-scheduled-tasks.sql")}
2020-09-21 15:58:56 +02:00
{:name "0020-minor-fixes-to-media-object"
:fn (mg/resource "app/migrations/sql/0020-minor-fixes-to-media-object.sql")}
2020-09-21 15:58:56 +02:00
{:name "0021-http-session-improvements"
:fn (mg/resource "app/migrations/sql/0021-http-session-improvements.sql")}
2020-09-21 15:58:56 +02:00
{:name "0022-page-file-refactor"
:fn (mg/resource "app/migrations/sql/0022-page-file-refactor.sql")}
2020-09-21 15:58:56 +02:00
{:name "0023-adapt-old-pages-and-files"
:fn mg0023/migrate}
{:name "0024-mod-profile-table"
:fn (mg/resource "app/migrations/sql/0024-mod-profile-table.sql")}
{:name "0025-del-generic-tokens-table"
:fn (mg/resource "app/migrations/sql/0025-del-generic-tokens-table.sql")}
{:name "0026-mod-file-library-rel-table-synced-date"
:fn (mg/resource "app/migrations/sql/0026-mod-file-library-rel-table-synced-date.sql")}
{:name "0027-mod-file-table-ignore-sync"
:fn (mg/resource "app/migrations/sql/0027-mod-file-table-ignore-sync.sql")}
]})
2017-03-25 19:35:28 +01:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Entry point
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defn migrate
[]
(with-open [conn (db/open)]
(mg/setup! conn)
(mg/migrate! conn +migrations+)))
(defstate migrations
:start (migrate))