aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/config/default/container/services_db.yml
blob: ae2707b9a51fb2c19b3bb27a47731535753720b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
services:
    dbal.conn:
        class: phpbb\db\driver\factory
        arguments:
            - @service_container

    dbal.conn.driver:
        class: %dbal.driver.class%
        calls:
            - [sql_connect, [%dbal.dbhost%, %dbal.dbuser%, %dbal.dbpasswd%, %dbal.dbname%, %dbal.dbport%, false, %dbal.new_link%]]

# ----- DB Tools -----
    dbal.tools.factory:
        class: phpbb\db\tools\factory

    dbal.tools:
        class: phpbb\db\tools\tools_interface
        factory: ["@dbal.tools.factory", get]
        arguments:
            - @dbal.conn.driver

# ----- DB Extractor -----
    dbal.extractor.factory:
        class: phpbb\db\extractor\factory
        arguments:
            - @dbal.conn.driver
            - @service_container

    dbal.extractor:
        class: phpbb\db\extractor\extractor_interface
        factory: ["@dbal.extractor.factory", get]

# ----- DB Extractors for different drivers -----
# Scope MUST be prototype for all the handlers to work correctly.
    dbal.extractor.extractors.mssql_extractor:
        class: phpbb\db\extractor\mssql_extractor
        scope: prototype
        arguments:
            - %core.root_path%
            - @request
            - @dbal.conn.driver

    dbal.extractor.extractors.mysql_extractor:
        class: phpbb\db\extractor\mysql_extractor
        scope: prototype
        arguments:
            - %core.root_path%
            - @request
            - @dbal.conn.driver

    dbal.extractor.extractors.oracle_extractor:
        class: phpbb\db\extractor\oracle_extractor
        scope: prototype
        arguments:
            - %core.root_path%
            - @request
            - @dbal.conn.driver

    dbal.extractor.extractors.postgres_extractor:
        class: phpbb\db\extractor\postgres_extractor
        scope: prototype
        arguments:
            - %core.root_path%
            - @request
            - @dbal.conn.driver

    dbal.extractor.extractors.sqlite3_extractor:
        class: phpbb\db\extractor\sqlite3_extractor
        scope: prototype
        arguments:
            - %core.root_path%
            - @request
            - @dbal.conn.driver

    dbal.extractor.extractors.sqlite_extractor:
        class: phpbb\db\extractor\sqlite_extractor
        scope: prototype
        arguments:
            - %core.root_path%
            - @request
            - @dbal.conn.driver

# ----- Migrator -----
    migrator:
        class: phpbb\db\migrator
        arguments:
            - @service_container
            - @config
            - @dbal.conn
            - @dbal.tools
            - %tables.migrations%
            - %core.root_path%
            - %core.php_ext%
            - %core.table_prefix%
            - @migrator.tool_collection
            - @migrator.helper

    migrator.helper:
        class: phpbb\db\migration\helper

# ----- Migrator's tools -----
    migrator.tool_collection:
        class: phpbb\di\service_collection
        arguments:
            - @service_container
        tags:
            - { name: service_collection, tag: migrator.tool }

    migrator.tool.config:
        class: phpbb\db\migration\tool\config
        arguments:
            - @config
        tags:
            - { name: migrator.tool }

    migrator.tool.config_text:
        class: phpbb\db\migration\tool\config_text
        arguments:
            - @config_text
        tags:
            - { name: migrator.tool }

    migrator.tool.module:
        class: phpbb\db\migration\tool\module
        arguments:
            - @dbal.conn
            - @cache
            - @user
            - %core.root_path%
            - %core.php_ext%
            - %tables.modules%
        tags:
            - { name: migrator.tool }

    migrator.tool.permission:
        class: phpbb\db\migration\tool\permission
        arguments:
            - @dbal.conn
            - @cache
            - @auth
            - %core.root_path%
            - %core.php_ext%
        tags:
            - { name: migrator.tool }