mirror of https://github.com/asterisk/asterisk
parent
3fb205f3af
commit
7c1687ba12
@ -0,0 +1 @@
|
||||
ChangeLogs/ChangeLog-22.0.0-rc1.md
|
@ -0,0 +1,307 @@
|
||||
|
||||
## Change Log for Release asterisk-22.0.0-rc1
|
||||
|
||||
### Links:
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-22.0.0-rc1.md)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/22.0.0-pre1...22.0.0-rc1)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22.0.0-rc1.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
|
||||
|
||||
### Summary:
|
||||
|
||||
- Commits: 19
|
||||
- Commit Authors: 8
|
||||
- Issues Resolved: 10
|
||||
- Security Advisories Resolved: 1
|
||||
- [GHSA-v428-g3cw-7hv9](https://github.com/asterisk/asterisk/security/advisories/GHSA-v428-g3cw-7hv9): A malformed Contact or Record-Route URI in an incoming SIP request can cause Asterisk to crash when res_resolver_unbound is used
|
||||
|
||||
### User Notes:
|
||||
|
||||
- #### feat: ARI "ChannelToneDetected" event
|
||||
Setting the TONE_DETECT dialplan function on a channel
|
||||
in ARI will now cause a ChannelToneDetected ARI event to be raised
|
||||
when the specified tone is detected.
|
||||
|
||||
|
||||
### Upgrade Notes:
|
||||
|
||||
- #### app_record: Add RECORD_TIME output variable.
|
||||
The RECORD_TIME variable now contains
|
||||
the duration of Record() recordings in milliseconds.
|
||||
|
||||
|
||||
### Commit Authors:
|
||||
|
||||
- Alexei Gradinari: (2)
|
||||
- George Joseph: (7)
|
||||
- Gibbz00: (1)
|
||||
- Joshua C. Colp: (2)
|
||||
- Mike Bradeen: (2)
|
||||
- Naveen Albert: (1)
|
||||
- Sean Bright: (2)
|
||||
- Tinet-Mucw: (2)
|
||||
|
||||
## Issue and Commit Detail:
|
||||
|
||||
### Closed Issues:
|
||||
|
||||
- !GHSA-v428-g3cw-7hv9: A malformed Contact or Record-Route URI in an incoming SIP request can cause Asterisk to crash when res_resolver_unbound is used
|
||||
- 548: [improvement]: Get Record() audio duration/length
|
||||
- 763: [bug]: autoservice thread stuck in an endless sleep
|
||||
- 811: [new-feature]: ARI channel tone detect events.
|
||||
- 845: [bug]: Buffer overflow in handling of security mechanisms in res_pjsip
|
||||
- 847: [bug]: Asterisk not using negotiated fall-back 8K digits
|
||||
- 854: [bug]: wrong properties in stir_shaken.conf.sample
|
||||
- 856: [bug]: res_pjsip_sdp_rtp leaks astobj2 ast_format
|
||||
- 861: [bug]: ChanSpy unable to read audiohook read direction frame when no packet lost on both side of the call
|
||||
- 876: [bug]: ChanSpy unable to write whisper_audiohook when set flag OPTION_READONLY
|
||||
- 879: [bug]: res_stir_shaken/verification.c: Getting verification errors when global_disable=yes
|
||||
|
||||
### Commits By Author:
|
||||
|
||||
- #### Alexei Gradinari (2):
|
||||
- res_pjsip_sdp_rtp fix leaking astobj2 ast_format
|
||||
- autoservice: Do not sleep if autoservice_stop is called within autoservice thr..
|
||||
|
||||
- #### George Joseph (5):
|
||||
- stir_shaken.conf.sample: Fix bad references to private_key_path
|
||||
- security_agreements.c: Refactor the to_str functions and fix a few other bugs
|
||||
- app_voicemail: Use ast_asprintf to create mailbox SQL query
|
||||
- res_resolver_unbound: Test for NULL ub_result in unbound_resolver_callback
|
||||
- res_stir_shaken: Check for disabled before param validation
|
||||
|
||||
- #### Mike Bradeen (1):
|
||||
- res_pjsip_sdp_rtp: Use negotiated DTMF Payload types on bitrate mismatch
|
||||
|
||||
- #### Sean Bright (2):
|
||||
- alembic: Make 'revises' header comment match reality.
|
||||
- res_pjsip_logger.c: Fix 'OPTIONS' tab completion.
|
||||
|
||||
- #### Tinet-mucw (2):
|
||||
- app_chanspy.c: resolving the issue with audiohook direction read
|
||||
- app_chanspy.c: resolving the issue writing frame to whisper audiohook.
|
||||
|
||||
|
||||
### Commit List:
|
||||
|
||||
- Prepare master for Asterisk 22
|
||||
- Update issue guidelines link for bug reports.
|
||||
- .github: NightlyAdmin now calls external CloseStaleIssuesAndPRs
|
||||
- app_record: Add RECORD_TIME output variable.
|
||||
- Revert "app_record: Add RECORD_TIME output variable."
|
||||
- feat: ARI "ChannelToneDetected" event
|
||||
- Update version for Asterisk 22
|
||||
- res_stir_shaken: Check for disabled before param validation
|
||||
- app_chanspy.c: resolving the issue writing frame to whisper audiohook.
|
||||
- res_resolver_unbound: Test for NULL ub_result in unbound_resolver_callback
|
||||
- app_voicemail: Use ast_asprintf to create mailbox SQL query
|
||||
- res_pjsip_sdp_rtp: Use negotiated DTMF Payload types on bitrate mismatch
|
||||
- app_chanspy.c: resolving the issue with audiohook direction read
|
||||
- security_agreements.c: Refactor the to_str functions and fix a few other bugs
|
||||
- res_pjsip_sdp_rtp fix leaking astobj2 ast_format
|
||||
- stir_shaken.conf.sample: Fix bad references to private_key_path
|
||||
- res_pjsip_logger.c: Fix 'OPTIONS' tab completion.
|
||||
- alembic: Make 'revises' header comment match reality.
|
||||
|
||||
### Commit Details:
|
||||
|
||||
#### Prepare master for Asterisk 22
|
||||
Author: George Joseph
|
||||
Date: 2023-08-09
|
||||
|
||||
|
||||
#### Update issue guidelines link for bug reports.
|
||||
Author: Joshua C. Colp
|
||||
Date: 2023-10-27
|
||||
|
||||
|
||||
#### .github: NightlyAdmin now calls external CloseStaleIssuesAndPRs
|
||||
Author: George Joseph
|
||||
Date: 2024-03-20
|
||||
|
||||
|
||||
#### app_record: Add RECORD_TIME output variable.
|
||||
Author: Naveen Albert
|
||||
Date: 2024-01-22
|
||||
|
||||
This adds the RECORD_TIME variable to Record(),
|
||||
which is set to the recording duration before
|
||||
the application returns.
|
||||
|
||||
Resolves: #548
|
||||
|
||||
UpgradeNote: The RECORD_TIME variable now contains
|
||||
the duration of Record() recordings in milliseconds.
|
||||
|
||||
#### Revert "app_record: Add RECORD_TIME output variable."
|
||||
Author: Joshua C. Colp
|
||||
Date: 2024-04-30
|
||||
|
||||
This reverts commit 6e8dccdbbf896bcc99046ae249db360698ede0b2.
|
||||
|
||||
#### feat: ARI "ChannelToneDetected" event
|
||||
Author: gibbz00
|
||||
Date: 2024-07-18
|
||||
|
||||
A stasis event is now produced when using the TONE_DETECT dialplan
|
||||
function. This event is published over ARI using the ChannelToneDetected
|
||||
event. This change does not make it available over AMI.
|
||||
|
||||
Fixes: #811
|
||||
|
||||
UserNote: Setting the TONE_DETECT dialplan function on a channel
|
||||
in ARI will now cause a ChannelToneDetected ARI event to be raised
|
||||
when the specified tone is detected.
|
||||
|
||||
#### Update version for Asterisk 22
|
||||
Author: Mike Bradeen
|
||||
Date: 2024-08-14
|
||||
|
||||
|
||||
#### res_stir_shaken: Check for disabled before param validation
|
||||
Author: George Joseph
|
||||
Date: 2024-09-11
|
||||
|
||||
For both attestation and verification, we now check whether they've
|
||||
been disabled either globally or by the profile before validating
|
||||
things like callerid, orig_tn, dest_tn, etc. This prevents useless
|
||||
error messages.
|
||||
|
||||
Resolves: #879
|
||||
|
||||
#### app_chanspy.c: resolving the issue writing frame to whisper audiohook.
|
||||
Author: Tinet-mucw
|
||||
Date: 2024-09-10
|
||||
|
||||
ChanSpy(${channel}, qEoSw): because flags set o, ast_audiohook_set_frame_feed_direction(audiohook, AST_AUDIOHOOK_DIRECTION_READ); this will effect whisper audiohook and spy audiohook, this makes writing frame to whisper audiohook impossible. So add function start_whispering to starting whisper audiohook.
|
||||
|
||||
Resolves: #876
|
||||
|
||||
#### autoservice: Do not sleep if autoservice_stop is called within autoservice thr..
|
||||
Author: Alexei Gradinari
|
||||
Date: 2024-09-04
|
||||
|
||||
It's possible that ast_autoservice_stop is called within the autoservice thread.
|
||||
In this case the autoservice thread is stuck in an endless sleep.
|
||||
|
||||
To avoid endless sleep ast_autoservice_stop must check that it's not called
|
||||
within the autoservice thread.
|
||||
|
||||
Fixes: #763
|
||||
|
||||
#### res_resolver_unbound: Test for NULL ub_result in unbound_resolver_callback
|
||||
Author: George Joseph
|
||||
Date: 2024-08-12
|
||||
|
||||
The ub_result pointer passed to unbound_resolver_callback by
|
||||
libunbound can be NULL if the query was for something malformed
|
||||
like `.1` or `[.1]`. If it is, we now set a 'ns_r_formerr' result
|
||||
and return instead of crashing with a SEGV. This causes pjproject
|
||||
to simply cancel the transaction with a "No answer record in the DNS
|
||||
response" error. The existing "off nominal" unit test was also
|
||||
updated to check this condition.
|
||||
|
||||
Although not necessary for this fix, we also made
|
||||
ast_dns_resolver_completed() tolerant of a NULL result.
|
||||
|
||||
Resolves: GHSA-v428-g3cw-7hv9
|
||||
|
||||
#### app_voicemail: Use ast_asprintf to create mailbox SQL query
|
||||
Author: George Joseph
|
||||
Date: 2024-09-03
|
||||
|
||||
...instead of trying to calculate the length of the buffer needed
|
||||
manually.
|
||||
|
||||
|
||||
#### res_pjsip_sdp_rtp: Use negotiated DTMF Payload types on bitrate mismatch
|
||||
Author: Mike Bradeen
|
||||
Date: 2024-08-21
|
||||
|
||||
When Asterisk sends an offer to Bob that includes 48K and 8K codecs with
|
||||
matching 4733 offers, Bob may want to use the 48K audio codec but can not
|
||||
accept 48K digits and so negotiates for a mixed set.
|
||||
|
||||
Asterisk will now check Bob's offer to make sure Bob has indicated this is
|
||||
acceptible and if not, will use Bob's preference.
|
||||
|
||||
Fixes: #847
|
||||
|
||||
#### app_chanspy.c: resolving the issue with audiohook direction read
|
||||
Author: Tinet-mucw
|
||||
Date: 2024-08-30
|
||||
|
||||
ChanSpy(${channel}, qEoS): When chanspy spy the direction read, reading frame is often failed when reading direction read audiohook. because chanspy only read audiohook direction read; write_factory_ms will greater than 100ms soon, then ast_slinfactory_flush will being called, then direction read will fail.
|
||||
|
||||
Resolves: #861
|
||||
|
||||
#### security_agreements.c: Refactor the to_str functions and fix a few other bugs
|
||||
Author: George Joseph
|
||||
Date: 2024-08-17
|
||||
|
||||
* A static array of security mechanism type names was created.
|
||||
|
||||
* ast_sip_str_to_security_mechanism_type() was refactored to do
|
||||
a lookup in the new array instead of using fixed "if/else if"
|
||||
statments.
|
||||
|
||||
* security_mechanism_to_str() and ast_sip_security_mechanisms_to_str()
|
||||
were refactored to use ast_str instead of a fixed length buffer
|
||||
to store the result.
|
||||
|
||||
* ast_sip_security_mechanism_type_to_str was removed in favor of
|
||||
just referencing the new type name array. Despite starting with
|
||||
"ast_sip_", it was a static function so removing it doesn't affect
|
||||
ABI.
|
||||
|
||||
* Speaking of "ast_sip_", several other static functions that
|
||||
started with "ast_sip_" were renamed to avoid confusion about
|
||||
their public availability.
|
||||
|
||||
* A few VECTOR free loops were replaced with AST_VECTOR_RESET().
|
||||
|
||||
* Fixed a meomry leak in pjsip_configuration.c endpoint_destructor
|
||||
caused by not calling ast_sip_security_mechanisms_vector_destroy().
|
||||
|
||||
* Fixed a memory leak in res_pjsip_outbound_registration.c
|
||||
add_security_headers() caused by not specifying OBJ_NODATA in
|
||||
an ao2_callback.
|
||||
|
||||
* Fixed a few ao2_callback return code misuses.
|
||||
|
||||
Resolves: #845
|
||||
|
||||
#### res_pjsip_sdp_rtp fix leaking astobj2 ast_format
|
||||
Author: Alexei Gradinari
|
||||
Date: 2024-08-23
|
||||
|
||||
PR #700 added a preferred_format for the struct ast_rtp_codecs,
|
||||
but when set the preferred_format it leaks an astobj2 ast_format.
|
||||
In the next code
|
||||
ast_rtp_codecs_set_preferred_format(&codecs, ast_format_cap_get_format(joint, 0));
|
||||
both functions ast_rtp_codecs_set_preferred_format
|
||||
and ast_format_cap_get_format increases the ao2 reference count.
|
||||
|
||||
Fixes: #856
|
||||
|
||||
#### stir_shaken.conf.sample: Fix bad references to private_key_path
|
||||
Author: George Joseph
|
||||
Date: 2024-08-22
|
||||
|
||||
They should be private_key_file.
|
||||
|
||||
Resolves: #854
|
||||
|
||||
#### res_pjsip_logger.c: Fix 'OPTIONS' tab completion.
|
||||
Author: Sean Bright
|
||||
Date: 2024-08-19
|
||||
|
||||
Fixes #843
|
||||
|
||||
|
||||
#### alembic: Make 'revises' header comment match reality.
|
||||
Author: Sean Bright
|
||||
Date: 2024-08-17
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
CREATE TABLE alembic_version (
|
||||
version_num VARCHAR(32) NOT NULL,
|
||||
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
|
||||
);
|
||||
|
||||
-- Running upgrade -> 210693f3123d
|
||||
|
||||
CREATE TABLE cdr (
|
||||
accountcode VARCHAR(20),
|
||||
src VARCHAR(80),
|
||||
dst VARCHAR(80),
|
||||
dcontext VARCHAR(80),
|
||||
clid VARCHAR(80),
|
||||
channel VARCHAR(80),
|
||||
dstchannel VARCHAR(80),
|
||||
lastapp VARCHAR(80),
|
||||
lastdata VARCHAR(80),
|
||||
start DATETIME,
|
||||
answer DATETIME,
|
||||
end DATETIME,
|
||||
duration INTEGER,
|
||||
billsec INTEGER,
|
||||
disposition VARCHAR(45),
|
||||
amaflags VARCHAR(45),
|
||||
userfield VARCHAR(256),
|
||||
uniqueid VARCHAR(150),
|
||||
linkedid VARCHAR(150),
|
||||
peeraccount VARCHAR(20),
|
||||
sequence INTEGER
|
||||
);
|
||||
|
||||
INSERT INTO alembic_version (version_num) VALUES ('210693f3123d');
|
||||
|
||||
-- Running upgrade 210693f3123d -> 54cde9847798
|
||||
|
||||
ALTER TABLE cdr MODIFY accountcode VARCHAR(80) NULL;
|
||||
|
||||
ALTER TABLE cdr MODIFY peeraccount VARCHAR(80) NULL;
|
||||
|
||||
UPDATE alembic_version SET version_num='54cde9847798' WHERE alembic_version.version_num = '210693f3123d';
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,29 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE alembic_version (
|
||||
version_num VARCHAR(32) NOT NULL,
|
||||
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
|
||||
);
|
||||
|
||||
-- Running upgrade -> 4105ee839f58
|
||||
|
||||
CREATE TABLE queue_log (
|
||||
id BIGSERIAL NOT NULL,
|
||||
time TIMESTAMP WITHOUT TIME ZONE,
|
||||
callid VARCHAR(80),
|
||||
queuename VARCHAR(256),
|
||||
agent VARCHAR(80),
|
||||
event VARCHAR(32),
|
||||
data1 VARCHAR(100),
|
||||
data2 VARCHAR(100),
|
||||
data3 VARCHAR(100),
|
||||
data4 VARCHAR(100),
|
||||
data5 VARCHAR(100),
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE (id)
|
||||
);
|
||||
|
||||
INSERT INTO alembic_version (version_num) VALUES ('4105ee839f58') RETURNING alembic_version.version_num;
|
||||
|
||||
COMMIT;
|
||||
|
@ -0,0 +1,41 @@
|
||||
CREATE TABLE alembic_version (
|
||||
version_num VARCHAR(32) NOT NULL,
|
||||
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
|
||||
);
|
||||
|
||||
-- Running upgrade -> a2e9769475e
|
||||
|
||||
CREATE TABLE voicemail_messages (
|
||||
dir VARCHAR(255) NOT NULL,
|
||||
msgnum INTEGER NOT NULL,
|
||||
context VARCHAR(80),
|
||||
macrocontext VARCHAR(80),
|
||||
callerid VARCHAR(80),
|
||||
origtime INTEGER,
|
||||
duration INTEGER,
|
||||
recording BLOB,
|
||||
flag VARCHAR(30),
|
||||
category VARCHAR(30),
|
||||
mailboxuser VARCHAR(30),
|
||||
mailboxcontext VARCHAR(30),
|
||||
msg_id VARCHAR(40)
|
||||
);
|
||||
|
||||
ALTER TABLE voicemail_messages ADD CONSTRAINT voicemail_messages_dir_msgnum PRIMARY KEY (dir, msgnum);
|
||||
|
||||
CREATE INDEX voicemail_messages_dir ON voicemail_messages (dir);
|
||||
|
||||
INSERT INTO alembic_version (version_num) VALUES ('a2e9769475e');
|
||||
|
||||
-- Running upgrade a2e9769475e -> 39428242f7f5
|
||||
|
||||
ALTER TABLE voicemail_messages MODIFY recording BLOB(4294967295) NULL;
|
||||
|
||||
UPDATE alembic_version SET version_num='39428242f7f5' WHERE alembic_version.version_num = 'a2e9769475e';
|
||||
|
||||
-- Running upgrade 39428242f7f5 -> 1c55c341360f
|
||||
|
||||
ALTER TABLE voicemail_messages DROP COLUMN macrocontext;
|
||||
|
||||
UPDATE alembic_version SET version_num='1c55c341360f' WHERE alembic_version.version_num = '39428242f7f5';
|
||||
|
@ -0,0 +1,45 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE alembic_version (
|
||||
version_num VARCHAR(32) NOT NULL,
|
||||
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
|
||||
);
|
||||
|
||||
-- Running upgrade -> 210693f3123d
|
||||
|
||||
CREATE TABLE cdr (
|
||||
accountcode VARCHAR(20),
|
||||
src VARCHAR(80),
|
||||
dst VARCHAR(80),
|
||||
dcontext VARCHAR(80),
|
||||
clid VARCHAR(80),
|
||||
channel VARCHAR(80),
|
||||
dstchannel VARCHAR(80),
|
||||
lastapp VARCHAR(80),
|
||||
lastdata VARCHAR(80),
|
||||
start TIMESTAMP WITHOUT TIME ZONE,
|
||||
answer TIMESTAMP WITHOUT TIME ZONE,
|
||||
"end" TIMESTAMP WITHOUT TIME ZONE,
|
||||
duration INTEGER,
|
||||
billsec INTEGER,
|
||||
disposition VARCHAR(45),
|
||||
amaflags VARCHAR(45),
|
||||
userfield VARCHAR(256),
|
||||
uniqueid VARCHAR(150),
|
||||
linkedid VARCHAR(150),
|
||||
peeraccount VARCHAR(20),
|
||||
sequence INTEGER
|
||||
);
|
||||
|
||||
INSERT INTO alembic_version (version_num) VALUES ('210693f3123d') RETURNING alembic_version.version_num;
|
||||
|
||||
-- Running upgrade 210693f3123d -> 54cde9847798
|
||||
|
||||
ALTER TABLE cdr ALTER COLUMN accountcode TYPE VARCHAR(80);
|
||||
|
||||
ALTER TABLE cdr ALTER COLUMN peeraccount TYPE VARCHAR(80);
|
||||
|
||||
UPDATE alembic_version SET version_num='54cde9847798' WHERE alembic_version.version_num = '210693f3123d';
|
||||
|
||||
COMMIT;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,29 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE alembic_version (
|
||||
version_num VARCHAR(32) NOT NULL,
|
||||
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
|
||||
);
|
||||
|
||||
-- Running upgrade -> 4105ee839f58
|
||||
|
||||
CREATE TABLE queue_log (
|
||||
id BIGSERIAL NOT NULL,
|
||||
time TIMESTAMP WITHOUT TIME ZONE,
|
||||
callid VARCHAR(80),
|
||||
queuename VARCHAR(256),
|
||||
agent VARCHAR(80),
|
||||
event VARCHAR(32),
|
||||
data1 VARCHAR(100),
|
||||
data2 VARCHAR(100),
|
||||
data3 VARCHAR(100),
|
||||
data4 VARCHAR(100),
|
||||
data5 VARCHAR(100),
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE (id)
|
||||
);
|
||||
|
||||
INSERT INTO alembic_version (version_num) VALUES ('4105ee839f58') RETURNING alembic_version.version_num;
|
||||
|
||||
COMMIT;
|
||||
|
@ -0,0 +1,45 @@
|
||||
BEGIN;
|
||||
|
||||
CREATE TABLE alembic_version (
|
||||
version_num VARCHAR(32) NOT NULL,
|
||||
CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num)
|
||||
);
|
||||
|
||||
-- Running upgrade -> a2e9769475e
|
||||
|
||||
CREATE TABLE voicemail_messages (
|
||||
dir VARCHAR(255) NOT NULL,
|
||||
msgnum INTEGER NOT NULL,
|
||||
context VARCHAR(80),
|
||||
macrocontext VARCHAR(80),
|
||||
callerid VARCHAR(80),
|
||||
origtime INTEGER,
|
||||
duration INTEGER,
|
||||
recording BYTEA,
|
||||
flag VARCHAR(30),
|
||||
category VARCHAR(30),
|
||||
mailboxuser VARCHAR(30),
|
||||
mailboxcontext VARCHAR(30),
|
||||
msg_id VARCHAR(40)
|
||||
);
|
||||
|
||||
ALTER TABLE voicemail_messages ADD CONSTRAINT voicemail_messages_dir_msgnum PRIMARY KEY (dir, msgnum);
|
||||
|
||||
CREATE INDEX voicemail_messages_dir ON voicemail_messages (dir);
|
||||
|
||||
INSERT INTO alembic_version (version_num) VALUES ('a2e9769475e') RETURNING alembic_version.version_num;
|
||||
|
||||
-- Running upgrade a2e9769475e -> 39428242f7f5
|
||||
|
||||
ALTER TABLE voicemail_messages ALTER COLUMN recording TYPE BYTEA;
|
||||
|
||||
UPDATE alembic_version SET version_num='39428242f7f5' WHERE alembic_version.version_num = 'a2e9769475e';
|
||||
|
||||
-- Running upgrade 39428242f7f5 -> 1c55c341360f
|
||||
|
||||
ALTER TABLE voicemail_messages DROP COLUMN macrocontext;
|
||||
|
||||
UPDATE alembic_version SET version_num='1c55c341360f' WHERE alembic_version.version_num = '39428242f7f5';
|
||||
|
||||
COMMIT;
|
||||
|
Loading…
Reference in new issue